package org.boticelli.plugin;

import java.util.List;

import org.boticelli.Bot;

/**
 * Implemented by plugins that want to provide help to the user.
 *
 * @author shelmberger
 *
 */
public interface HelpfulBoticelliPlugin extends BoticelliPlugin
{

    /**
     * Returns the name under which this help is registered. the name is listed as possible help command and
     * all help messages starting with
     * <pre><blockquote>/msg Bot help &lt;helpName&gt;
     * </blockquote></pre>
     * are handled by this help.
     * @return
     */
    String getHelpName();

    /**
     * Returns the actual help text for the given help arguments that contain the  words after
     * <pre><blockquote>/msg Bot help &lt;helpName&gt;
     * </blockquote></pre>
     * @param args
     * @return
     */
    String helpText(Bot bot, List<String> args);
}
